package GameStates;

import GameStates.StateManager.States;

import com.badlogic.gdx.Screen;
import com.me.mygdxgame.renderer.AssetsManager;

public abstract class BaseState implements Screen
{
	public States ID;
	
	public abstract void update(float dt);
	
	public abstract void draw(float dt);
	
	public abstract void input(float dt);
	
	public abstract boolean isDone();
	@Override
	public void render(float dt)
	{
		input(dt);
		update(dt);
		draw(dt);
	}
	
	@Override
	public void resize(int width, int height) {}
	
	@Override
	public void show() {}
	
	@Override
	public void hide() {}
	
	@Override
	public void resume()
	{
		while(!AssetsManager.getInstance().update()) {}
	}
	
	@Override
	public void dispose() {}
	
}
